package com.zonacardio.servlest;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.ArrayList;
import java.util.Arrays;
import com.zonacardio.entidad.Deportistas;
import com.zonacardio.negocio.DeportistasN;
import java.util.List;


/**
 *
 * @author USUARIO
 */
public class DeportistaServlet extends HttpServlet {

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        String TipoDocumento = request.getParameter("txtTipoDocumento");
            String numerodocumento = request.getParameter("txtnumerodocumento");
            String nombre1 = request.getParameter("txtnombre1");
            String nombre2 = request.getParameter("txtnombre2");
            String apellido1 = request.getParameter("txtapellido1");
            String apellido2 = request.getParameter("txtapellido2");
            String telefono = request.getParameter("txttelefono");
            String celular = request.getParameter("txtcelular");
            String correo_electronico = request.getParameter("txtcorreo_electronico");
            String direccion = request.getParameter("txtdireccion");
            String barrio = request.getParameter("txtbarrio");
            String genero = request.getParameter("txtgenero");
            String fecha_ingreso = request.getParameter("txtfecha_ingreso");
            String usuariocreador = request.getParameter("txtusuariocreador");

        String targetPage = "./Principal.jsp";
        request.setAttribute("target", "./FPrincipal.jsp");
        request.setAttribute("targetModulo", "./FDeportistas.jsp");
        request.setAttribute("ListaDeportistas", null);
     
        request.setAttribute("mensaje", null);
        request.setAttribute("deportista", null);

        String men = "";
        DeportistasN negocioD = new DeportistasN();
        Deportistas entDeportistas = new Deportistas();
          if("editar".equals(request.getParameter("action"))){
            try{
               negocioD.editar(new Deportistas(TipoDocumento,numerodocumento ,nombre1,nombre2,apellido1,apellido2 ,
                telefono , celular ,correo_electronico ,direccion, barrio,genero,fecha_ingreso, usuariocreador));
                entDeportistas.setTipoDocumento("");
                entDeportistas.setnumerodocumento("");
                entDeportistas.setnombre1("");
                entDeportistas.setnombre2("");
                entDeportistas.setapellido1("");
                entDeportistas.setapellido2("");
                entDeportistas.settelefono("");
                entDeportistas.setcelular("");
                entDeportistas.setcorreo_electronico("");
                entDeportistas.setdireccion("");
                entDeportistas.setbarrio("");
                entDeportistas.setgenero("");
                entDeportistas.setfecha_ingreso("");
                entDeportistas.setusuariocreador("");
                request.setAttribute("deportista", entDeportistas);

                List<Deportistas> ListaDeportistas=negocioD.ListadoDeportistas();
                request.setAttribute("ListaDeportistas", ListaDeportistas);
                request.setAttribute("mensaje",null);

            }catch(Exception ex){
                Logger.getLogger(DeportistaServlet.class.getName()).log(Level.SEVERE,null,ex);
                request.setAttribute("mensaje", ex.getMessage());
            }
                }
if ("listar".equals(request.getParameter("action"))) {
             try {
                List<Deportistas> ListaDeportistas=negocioD.ListadoDeportistas();
                request.setAttribute("ListaDeportistas", ListaDeportistas);

                request.setAttribute("D",null );
                  request.setAttribute("mensaje",null);
            } catch (Exception ex) {
                Logger.getLogger(DeportistaServlet.class.getName()).log(Level.SEVERE, null, ex);
                request.setAttribute("mensaje", ex.getMessage());
            }
        }

    if("guardar".equals(request.getParameter("action"))){
            try{
               men= negocioD.guardarDeportista(
                        TipoDocumento, numerodocumento, nombre1, nombre2, apellido1, apellido2, telefono, celular,
                        correo_electronico, direccion, barrio, genero, fecha_ingreso, usuariocreador);

                entDeportistas.setTipoDocumento("");
                entDeportistas.setnumerodocumento("");
                entDeportistas.setnombre1("");
                entDeportistas.setnombre2("");
                entDeportistas.setapellido1("");
                entDeportistas.setapellido2("");
                entDeportistas.settelefono("");
                entDeportistas.setcelular("");
                entDeportistas.setcorreo_electronico("");
                entDeportistas.setdireccion("");
                entDeportistas.setbarrio("");
                entDeportistas.setgenero("");
                entDeportistas.setfecha_ingreso("");
                entDeportistas.setusuariocreador("");

                request.setAttribute("deportista", entDeportistas);
                request.setAttribute("mensaje", men);
            } catch (Exception ex) {
                Logger.getLogger(DeportistaServlet.class.getName()).log(Level.SEVERE, null, ex);
                request.setAttribute("mensaje", ex.getMessage());
            }
        }
if ("buscar".equals(request.getParameter("action"))) {

            try {
                entDeportistas = negocioD.buscarDeportistas(numerodocumento);
                request.setAttribute("deportista", entDeportistas);
             
                
                List<Deportistas> ListadoDeportistas=negocioD.ListadoDeportistas();
                request.setAttribute("ListaDeportistas", null);
                request.setAttribute("ListaDeportistas", ListadoDeportistas);

            } catch (Exception ex) {
                Logger.getLogger(DeportistaServlet.class.getName()).log(Level.SEVERE, null, ex);
                request.setAttribute("mensaje", ex.getMessage());
            }
        }

if ("salir".equals(request.getParameter("action"))) {

            try {
               
                request.setAttribute("targetModulo", "FBlanco.jsp");
             

            } catch (Exception ex) {
                Logger.getLogger(DeportistaServlet.class.getName()).log(Level.SEVERE, null, ex);
                request.setAttribute("mensaje", ex.getMessage());
            }
        }




         request.getRequestDispatcher(targetPage).forward(request, response);
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

}
